<?php
namespace Model;
use Think\Model;
    class News_contentsModel extends Model {
    
        protected $_validate = array(
            
            //不为空验证
            array('title','require','标题不能为空'),
            array('contents','require','内容不能为空'),
            
            //内容限制
            array('title','1,100','标题长度在1~100之间！',0,'length'),
            array('contents','1,10000','内容长度在1~10000之间！',0,'length'),
        //    array('sort','1970-1-1,2038-1-9','时间格式不正确',2,'expire'),
            array('sort','check_sort','时间格式不正确',2,'callback'),
            array('key_work','1,32','关键字长度在1~32',2,'length'),
        );
        
        function check_sort($sort){
            $time = explode(' ', $sort);
            //前部分必须验证
            $q = explode('-',$time[0]);
            if(count($q)==3){
                if(!is_numeric($q[0]) || $q[0]<1970 || $q[0]>2038){
                    return false;
                }
                if(!is_numeric($q[1]) || $q[1]<1 || $q[1]>12){
                    return false;
                }
                if(!is_numeric($q[2]) || $q[2]<1 || $q[2]>31){
                    return false;
                }
                $bool = checkdate($q[1], $q[2], $q[0]);
            }else {
                return false;
            }

            //后部分有则验证
            if($time[1]){
                $h = explode(':',$time[1]);
                if(count($h)==3){
                    if(!is_numeric($h[0]) || $h[0]<0 || $h[0]>24){
                        return false;
                    }
                    if(!is_numeric($h[1]) || $h[1]<0 || $h[1]>60){
                        return false;
                    }
                    if(!is_numeric($h[2]) || $h[2]<0 || $h[2]>60){
                        return false;
                    }
                }else {
                    return false;
                }
            }
               return $bool;            
        }
        
}